软考真题
第3题
阅读以下关于某嵌入式系统多路数据采集的说明,回答问题1至问题3。

【说明】
某嵌入式系统中,存在16路数据采集通道,为了提高数据采集的可靠性,对16路采集通道均采用双余度设计,为了监控采集通道是否发生故障,对各路双余度通道采集值进行比较,只有当该通道两个余度设备采集值均不小于45时,才表示该路通道正常。设计人员设计函数nUm_0f_paSSer用于统计无故障通道数目,在该函数的设计中考虑了如下因素:

(1) 采用如下数据结构存储通道号及采集值:



(2) 当输入参数异常时,函数返回-1;

(3) 若正确统计了无故障通道数目,则返回该数目;

(4) 该函数需要两个输入参数,第一个参数是用于存储通道号及余度采集值的数组,第二个参数为通道总数目。

汗发人员根据上述要求使用ANSIC对代码实现如下(代码中第一个数字代表行号):



【问题:3.1】嵌入式软件中通常使用圈复杂度来衡量程序的可维护性(一般要求圈复杂度不大于10),请计算函数num_of_passer的圈复杂度。
【问题:3.2】作为测试人员,请参照表3-1序号1的方式使用代码审查的方法找出该程序中所包含的至少3处错误。
【问题:3.3】覆盖率是度量测试完整性的一个手段,也是度量测试有效性的一个手段。在嵌入式软件白盒测试过程中,通常以语句覆盖率、分支覆盖率和MC/DC覆盖率作为度量指标,请指出对函数num_of_passer达到100%语句覆盖、100%分支(DC)覆盖和100%MC/DC覆盖所需的最少测试用例数目。
答题卡
加油
纠错
得分:0